/*
 * 图片缓存，解决ggeditor重绘图片闪烁的问题
 */
class ImageCache {
  constructor() {
    this.imgs = {}
  }

  /**
   * 获取缓存的图片
   * @param {String} path 图片路径
   */
  getImage(path) {
    if (!this.imgs[path]) {
      const img = new Image()
      img.src = path
      // 因为不会触发ggeditor的callback，所以作异步缓存
      img.onload = () => {
        this.imgs[path] = img
      }
      return path
    }

    return this.imgs[path]
  }
}

export default new ImageCache()
